package com.coolingme.demo.passport.adapterv1;

import com.coolingme.demo.passport.PassportService;
import com.coolingme.demo.passport.ResultMsg;

/**
 * 第三方登录适配器
 *
 * @author wangyue
 * @date 2020-09-20 13:58
 */
public class PassportForThirdAdapter extends PassportService implements IPassportService {
    @Override
    public ResultMsg loginForQQ(String openId) {
        System.out.println("loginForQQ");
        return loginForThird(openId, null);
    }

    @Override
    public ResultMsg loginForToken(String token) {
        System.out.println("loginForToken");
        return loginForThird(token, null);
    }

    @Override
    public ResultMsg loginForPhone(String phone, String code) {
        System.out.println("loginForPhone");
        return loginForThird(phone, null);
    }


    /**
     * 对接第三方登录接口
     * 实际操作会有困难，因为第三方登录的业务逻辑都不同，代码也很多，所以不建议这样
     *
     * @param username 用户名
     * @param password 密码
     * @return ResultMsg
     */
    private ResultMsg loginForThird(String username, String password) {
        // 默认给一个密码
        if (null == password) {
            password = "!@#$%^&*()";
        }
        super.register(username, password);
        return super.login(username, password);
    }

}
